草庐IT

java - Spring boot 安全配置 - 必须指定 authenticationManager

全部标签

javascript - AJAX 跨域安全背后的基本原理是什么?

考虑到编写跨域获取数据的服务器端代理的简单性,我不知道阻止客户端AJAX跨域调用的最初意图是什么。我不是在寻求猜测,我是在寻找语言设计者(或与他们关系密切的人)的文档,了解他们认为自己在做什么,而不仅仅是给开发人员带来轻微的不便。TIA 最佳答案 防止浏览器充当反向代理。假设您正在浏览http://www.evil.com从您办公室的PC上,并假设该办公室中存在一个包含敏感信息的内部网http://intranet.company.com只能从本地网络访问。如果跨域策略不存在,www.evil.com可以向http://intran

javascript - Web Workers 是一种安全的方式来沙盒不受信任的 JavaScript 代码吗

我想知道WebWorker是否是对不受信任的JavaScript代码进行沙盒处理的安全方法。例如,在绘图应用程序的上下文中,开发人员可以在其中实现新的绘图工具,您可以将他们的代码放入webworker中,并且每当用户单击Canvas时,向他们发送包含光标位置的JSON消息,以及图像数据数组,当脚本完成时,它会传回一条包含新图像数据的消息。这是否安全,或者是否存在我没​​有想到的风险? 最佳答案 DOM对Webworker不可用,但可以访问同源内容,例如indexedDB。请参阅我的相关问题:Canworkersbesecureeno

javascript - Microsoft Edge 不接受内容安全策略的哈希

问题Content-Security-Policy应该默认将脚本和样式解析列入黑名单,并允许它基于各种指令来验证预期输出的哈希值。浏览器必须无法实现任何未预先提供匹配哈希的Javascript或CSS。具有匹配散列的代码应正常执行。MicrosoftEdge拒绝所有JS/CSS页内block。说明在MicrosoftEdge和任何其他浏览器中访问下面的实时演示链接。现场演示:http://output.jsbin.com/biqidoqebu演示原始源码#loading{color:transparent}#loading:after{color:green;content:"Styl

java - JSP 页面应该如何检查身份验证

我是网络编程新手。我要求一种通用模式来执行诸如检查身份验证之类的操作。这是场景:该网站有一个访问者登录页面。它将获取用户名和加密密码并将它们发送到服务器,然后从服务器获取错误代码(用户名/密码不匹配)或授权key。当用户登录成功后,我想让网站自动跳转到呈现网站主要功能的main.jsp页面。在这种情况下,我希望main.jsp检查用户身份验证。也就是说,我不希望用户可以直接打开www.example.com/main.jsp这样的事情发生,如果他们这样做了,我想将他们重定向到登录页面。那么如何跨页面传递认证信息,如何防止用户在未登录的情况下直接访问main.jsp呢?我需要使用sess

javascript - 为什么 Java 8 Nashorn (JavaScript) 模返回 0.0( double )而不是 0(整数)?

考虑以下代码示例:importjavax.script.ScriptEngine;importjavax.script.ScriptEngineManager;publicclassTester{publicstaticvoidmain(String[]args)throwsException{ScriptEnginese=newScriptEngineManager().getEngineByName("nashorn");Objecteval=se.eval("5%5");System.out.println("eval="+eval);System.out.println("ev

javascript - Immutable.js:如何通过指定属性值在数组中查找对象

我有一个由Immutable.js制作的数组:vararr=Immutable.List.of({id:'id01',enable:true},{id:'id02',enable:true},{id:'id03',enable:true},{id:'id04',enable:true});如何找到id:id03的对象?我想更新它的enable值并获得一个新数组 最佳答案 首先你需要findIndex,然后update你的list。constindex=arr.findIndex(i=>i.id==='id03')constnewAr

javascript - 运行一个函数指定的次数

functionrunAgain(){window.setTimeout(foo,100);}functionfoo(){//DosomthingrunAgain();}我可以使用上面的代码以一秒的间隔无限次地运行一个函数。运行函数定义次数的标准方法是什么。比方说,我希望foo()以1秒的间隔运行5次。编辑据说在Javascript中应该避免使用全局变量。有没有更好的办法?根据答案的输入,我创建了一个这样的函数:(工作示例:http://jsbin.com/upasem/edit#javascript,html)varfoo=function(){console.log(newDate

javascript - 如何管理 Webpack/Electron 应用程序的配置?

我正在使用Webpack2和Electron在Mac上构建nodejs应用程序。在我的项目根目录中,我有一个目录“data”,我将配置存储在json中,例如data/configurations/files.json(实际上有不同的文件具有动态名称)在webpackaing之后,当我打电话时:fs.readdirSync(remote.app.getAppPath());为了在根目录中获取文件,我只打包了这些文件:["default_app.js","icon.png","index.html","main.js","package.json","renderer.js"]path.j

javascript - 除了浏览器本身之外,如何使用 JavaScript 或 Java 清除浏览器(IE、Firefox、Opera、Chrome)历史记录?

除了从浏览器本身清除之外,如何使用JavaScript或Java清除浏览器(IE、Firefox、Opera、Chrome)历史记录? 最佳答案 脚本通常无法访问浏览器中的document.location数据,因为允许访问将使任何给定站点能够访问您的整个浏览历史记录。最多你可以做一些简单的操作,比如“转到历史条目#37”或“返回一页”。但是您不能执行“历史条目#23中页面的地址是什么”。大多数银行网站将使用javascript链接来防止建立点击历史记录。他们会执行document.location.replace”来杀死最后一个历

javascript - 使用正则表达式验证字符串是否是 URL 安全的

我有一个网站,用户可以在其中选择用户名。目前,他们几乎可以输入任何字符,包括@!#等等我知道我可以使用正则表达式,这可能就是我要选择的。我将使用一个否定集,我假设它是正确的工具:[^@!#]那么,我怎样才能知道要放入那个集合中的所有非法字符呢?我可以开始手动放入那些显而易见的东西,例如!@#$%^&*(),但是有没有一种简单的方法可以做到这一点而无需手动将它们中的每一个都放入?我知道很多网站只允许包含字母、数字、破折号或下划线的字符串。类似的东西对我来说很管用。如有任何帮助,我们将不胜感激。谢谢S.O.! 最佳答案 不使用否定,只将